package Principal;


import java.io.IOException;
import javax.microedition.rms.*;

/**
 * Nos servirá para comparar los gastos y ordenarlos por fecha
 * @author Noelia Alonso Garrido
 * @author Abel Torres Alonso
 * @author Diego Vallejo Alonso
 */
public class ComparadorGastos implements RecordComparator {

    public int compare(byte[] rec1, byte[] rec2) {

        try {
            Gasto g1;
            Gasto g2;
            g1 = new Gasto();
            g2 = new Gasto();
            g1.desdeByteArray(rec1);
            g2.desdeByteArray(rec2);

            if (g1.getAnio() < g2.getAnio()){
                return RecordComparator.PRECEDES;   //g1 es anterior a g2
            } else if(g1.getAnio() != g2.getAnio()){
                return RecordComparator.FOLLOWS;    //g2 es anterior a g1
            } else {
                if(g1.getMes() < g2.getMes()){      //ambos son del mismo año, miramos el mes
                    return RecordComparator.PRECEDES; //g1 es anterior a g2
                } else if(g1.getMes() != g2.getMes()){
                    return RecordComparator.FOLLOWS; //g2 es anterior a g1
                } else {
                    if(g1.getDia() < g2.getDia()){  //ambos son del mismo mes, miramos el día
                        return RecordComparator.PRECEDES; //g1 es anterior a g2
                    } else if(g1.getDia() != g2.getDia()){
                        return RecordComparator.FOLLOWS; //g2 es anterior a g1
                    }
                }
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return RecordComparator.EQUIVALENT;
    }

}
